Disposable mini-applications

ABSTRACT

Disposable mini-applications are executable software items whose activation, deactivation and deletion in a mobile terminal are defined by trigger parameters and rules. Trigger parameters may include, but are not intended to be limited to, location, time, stored user data and the like. Rules are one or more trigger parameters needed to effect one of the foregoing actions. In one embodiment, a housekeeping means monitors for data that corresponds to the parameters and satisfies the rules, and performs a variety of housekeeping functions relating to the disposable mini-applications. The deletion of the disposable mini-application clears memory space associated with storing and executing the disposable mini-application, and thus, makes that space available for other purposes.

FIELD OF THE INVENTION

The present invention relates to wireless communications systems ingeneral and, more particularly, to an apparatus and method forefficiently managing the memory of a mobile terminal.

BACKGROUND OF THE INVENTION

Mobile terminals have become ubiquitous. One of the reasons for theirpopularity is their compact size. Another reason is their ability to runsoftware applications that permit users to perform a variety of enhancedfunctions, beyond those relating to traditional telephony, while in amobile environment. Unfortunately, the terminal's small size translatesinto a limited memory capability for storing applications and associateddata, and thus, ultimately imposes limitations on the terminal'sfunctionality. Another problem faced by users of mobile terminalsequipped with software applications that provide enhanced functionalityis having to ensure that they have the latest or most suitable versionsof the applications stored on their terminals by manually updating orreconfiguring the applications. What is needed is a mechanism forefficiently managing software applications used by these mobileterminals and, more particularly, for efficiently managing a mobileterminal's memory space where applications are stored.

SUMMARY OF THE INVENTION

The above-identified problems are solved and a technical advance isachieved in the art by an apparatus and method for managing the storageof disposable mini-applications in a mobile terminal, such as a mobiletelephone. An application, which comprises an executable software itemof limited operability associated with conditions for one or more ofdownloading, activating, deactivating and deleting the software item, isreferred to herein as a disposable mini-application, as will bediscussed in detail hereinafter.

An exemplary method for a mobile terminal having a processor and amemory for processing and storing data to manage storage of executablesoftware items of limited operability comprises: downloading anexecutable software item comprising at least one condition for deletionof the executable software item over a wireless connection, wherein theexecutable software item enables access to at least one service at aspecified location; storing the executable software item including thecondition for deletion of the executable software item in storage of themobile terminal; and if the condition for deletion of the executablesoftware item is satisfied, deleting the executable software item fromstorage of the mobile terminal.

In an alternate embodiment, an exemplary method comprises: downloadingan executable software item together with trigger conditions foractivation and deletion of the executable software item over a wirelessconnection, wherein the executable software item enables access to atleast one service at a specified location; storing the executablesoftware item together with the trigger conditions for activation anddeletion of the executable software item in storage of the mobileterminal; if a trigger condition for activation of the executablesoftware item is satisfied, activating the executable software item; andif a trigger condition for deletion of the executable software item issatisfied, deleting the executable software item from storage of themobile terminal.

In yet an alternate embodiment, an exemplary method comprises:downloading a first executable software item upon entry of the mobileterminal into a first location together with a trigger condition fordeletion of the first executable software item; downloading a secondexecutable software item upon entry of the mobile terminal into a secondlocation together with a trigger condition for deletion of the secondexecutable software item; monitoring for trigger data that satisfies thetrigger condition for deletion of the second executable software item;and deleting the second executable software item upon detection oftrigger data that satisfies the trigger condition for deletion of thesecond executable software item.

In an embodiment directed to a method for a mobile terminal having aprocessor and a memory for processing and storing data to manage storageof an executable software item of limited operability that provides auser of the mobile terminal with shopping assistance, an exemplarymethod comprises: downloading an executable software item for providinga user of a mobile terminal with assistance while shopping, wherein theexecutable software item comprises data comprising an identification ofone or more shopping service locations and trigger conditions foractivation and deletion of the executable software item from memory ofthe mobile terminal; detecting, via a short range wireless connection,that the user is located within proximity of one of the shopping servicelocations; accessing user data comprising indications of goods and/orservices of interest to the user; comparing goods and/or servicesoffered by the shopping service location with the user data to determinewhether there is a match; if there is a match, activating the executablesoftware item; and executing the executable software item, whereinexecution of the executable software item comprises: generating a queryfor transmission to the shopping service location, the query includingthe user data; and transmitting the query to the shopping servicelocation via a short range wireless connection. In this embodiment, ashopping service location may be a service desk, a shop or the like in ashopping center/mall or any smaller location therein including an aisle,shelf, counter, stand, etc. where goods and/or services are madeavailable for consumption, as will be discussed in detail hereinafter.

In one embodiment of the present invention, the data or the individualdata items mentioned above that are stored in the mobile terminal, suchas user data and the data relating to trigger parameters and triggerconditions downloaded to the mobile terminal or stored therein, may beexpressed using markup language expressions or compressed markuplanguage expressions of an XML-based markup language.

Other and further aspects of the present invention will become apparentduring the course of the following description and by reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an exemplary arrangement betweena mobile terminal and a service provider in which a disposablemini-application may be downloaded and used in accordance with oneembodiment of the present invention.

FIG. 2 is a block diagram illustrating an exemplary mobile terminal inaccordance with one embodiment of the present invention.

FIG. 3 is a simplified layout of an area such as a shopping mall,department store or shop illustrating the location of nodes for datatransfer between mobile terminals and one or more service providers inaccordance with one embodiment of the present invention.

FIG. 4 is a flowchart illustrating an exemplary process by which adisposable mini-application may be used in a mobile terminal.

FIG. 5 is a block diagram illustrating the performance of a disposablemini-application housekeeping function.

FIG. 6 is a block diagram illustrating an exemplary disposablemini-application for providing purchasing assistance to a user while theuser is shopping in a shopping mall, a shop or any shopping servicelocation thereof in accordance with one embodiment of the presentinvention.

DETAILED DESCRIPTION

In the following description of the various embodiments, reference ismade to the accompanying drawings which form a part hereof, and in whichare shown by way of illustration various embodiments in which theinvention may be practiced. It is to be understood that otherembodiments may be utilized and structural and functional modificationsmay be made without departing from the scope of the present invention.

FIG. 1 is a block diagram illustrating an exemplary arrangement betweena mobile terminal and a service provider in which a disposablemini-application may be downloaded and used in accordance with oneembodiment of the present invention. As shown in FIG. 1, mobile terminal100, which may be a hand-held wireless telephone, a mobile handsetterminal, a personal digital assistant (“PDA”), a portable computer orthe like includes storage 106 for one or more disposablemini-applications downloaded from a service provider 150, preferablyover a wireless connection.

A disposable mini-application is an executable software item, such as aJava applet, a script or a software agent of limited operability forperforming one or more functions on a mobile terminal 100. With respectto its limited operability, in addition to being associated with one ormore conditions for its deletion, a disposable mini-application ispreferably also associated with one or more conditions (such as thephysical location of the mobile terminal) for one or more of itsdownloading, activation and deactivation, as will be discussed in detailhereinafter.

Mobile terminal 100 may download a disposable mini-application fromservice provider 150 over either a short range wireless network 120,such as a Personal Area Network (e.g., IrDA or Bluetooth PANs) or awireless LAN (e.g., wireless IEEE 1394, IEEE 802.11 or HiperLAN/2) or amobile WAN 130 (e.g. GPRS, GSM, etc.). In this regard, service provider150 includes a short range wireless connection 156 and/or WAN connection157 for use in downloading a disposable mini-application to mobileterminal 100 over short range wireless network 120 or mobile WAN 130,respectively. Service provider 150, which may be a single entity, suchas a single store, or an entity representing a plurality of stores, suchas a shopping mall, includes a processor 152 coupled to a data base 154for storing one or more disposable mini-applications (together with anyassociated data) for downloading to mobile terminal 100 for activationand use.

In accordance with one embodiment of the present invention, a mobileterminal 100 may download a disposable mini-application provided thatany preconditions for downloading it that have been established byeither terminal 100 or service provider 150 have been satisfied, as willbe discussed in detail hereinafter in connection with FIG. 4. Oncedownloaded, the disposable mini-application may be activated,deactivated and/or deleted from storage 106 based on whether triggerconditions for doing so have been satisfied, as will also be discussedin detail in connection with FIG. 4. These trigger conditions arepreferably downloaded together with the disposable mini-application fromservice provider 150. In one embodiment, a trigger condition maycomprise trigger parameters and rules, as will be discussed in detailhereinafter. The downloaded trigger conditions, trigger parameters andrules may be expressed using markup language expressions or compressedmarkup language expressions preferably using an XML-based markuplanguage.

Briefly, trigger parameters may be based upon one or more of a location,a date/time, user input, etc. Trigger parameters also may be based uponpersonal user data such as profile, calendar, intents and notes data. Auser's profile may include a user's name, address, phone number(s),gender, age, employer, hobbies, car model, car registration number,preferences (e.g., a preferred genre of books), loyalty cardmemberships, credit/debit card information and the like. A user'scalendar stores user generated entries for events such as appointments,birthdays, visits, holidays, vacations, shows, etc. correlated to a dateand time when the event is to occur. A user's intentions may beuser-specified intended tasks or acts to be performed by her such as“grocery shopping”, “birthday present shopping”, “car wash”, “hair cut”,etc. Notes may include user-generated instructions to be followed by theuser when performing a task. Exemplary notes include a shopping list, awish list for a family member, a spouse's perfume or colognepreferences, etc. Preferably, the user may activate these intents/notesat any time for a period of time (such as from now until otherwiseindicated) or can associate them with a date/time in a calendar or to alocation for automatic activation. In any event, such personal data maybe stored either locally in user data storage 108 a or remotely in userdata storage 108 b where mobile terminal 100 may readily access itwhenever needed over, e.g., mobile WAN 130, for use in determiningwhether trigger parameters associated with a disposable mini-applicationhave been satisfied. The data relating to personal user data may bestored using markup language expressions or compressed markup languageexpressions, preferably using an XML-based markup language.

As mentioned above, in one embodiment of the present invention, triggerconditions may comprise rules in addition to trigger parameters. Rulesare one or more trigger parameters needed to effect an action such asactivating, deactivating or deleting a disposable mini-application, aswill also be discussed in detail hereinafter.

As further shown in FIG. 1, mobile terminal 100 includes an RF-ID tag110 and an RF-ID tag reader 112. Service provider 150 likewise includesRF-ID tag readers 158 and RF-ID tags 159. As will be discussed in detailhereinafter, an RF-ID wireless system comprising an RF-ID tag 110 ofmobile terminal 100 and RF-ID tag readers 158 of service provider 150or, alternatively, an RF-ID tag reader 112 of mobile terminal 100 andRF-ID tags 159 of service provider 150, may be used in one embodiment ofthe present invention to determine the user's location within a serviceprovider 150's premises for use in satisfying a precondition fordownloading a disposable mini-application or, satisfying a triggercondition for activating, deactivating and/or deleting the disposablemini-application.

An RF-ID tag is a wireless transponder that may contain varying amountsof information ranging from a tag identifier to 128 Kbytes of variablememory that can be programmed with additional information. An RF-ID tagreader communicates with a tag through the use of RF energy. Inparticular, an RF-ID tag reader sends out an interrogation signal which“wakes up” a tag situated within a predetermined proximity to thereader. A tag may be “passive” in that it operates without an internalbattery source, deriving the power to operate from the RF fieldgenerated by the RF-ID reader, which is inductively coupled to the tag.Alternatively, a tag may be “active”, and thus, powered by an internalbattery that allows a greater communication range and higher datatransmission rates. Once interrogated, the tag will transmit a signalincluding its ID number and possibly other information back to the RF-IDtag reader. RF-ID wireless network principles are described in apublication entitled “Radio Frequency Identification: A,Basic Primer”,published by Automatic Identification Manufacturers (AIM), website:(www.aimglobal.org), Aug 23, 2001, a copy of which is incorporatedherein by reference. The data stored in an RF-ID tag may be stored atleast partly in a format of a markup language expression of an XML-basedmarkup language.

In one embodiment, service provider 150 may have installed RF-ID tags159 throughout its premises. Mobile terminal 100 may use its RF-ID tagreader 112 to determine its entrance into, current location within, anddeparture from, a predetermined area by sensing one or more of serviceprovider 150's RF-ID tags 159, as will be discussed in detailhereinafter in connection with FIG. 6, and use this location informationfor downloading, activating, deactivating and/or deleting a disposablemini-application without the mobile terminal 100 having to disclose itslocation to service provider 150.

Given the foregoing, an exemplary trigger parameter for activation of amini-application may be the identification number of an RF-ID tag 159read by RF-ID tag reader 112 of mobile terminal 100. Another triggerparameter may be a specific number, such as the numeral “1”, entered bythe user via keyboard 104. In view of these trigger parameters, anexemplary rule may be that if the first number of the RF-ID tag'sidentification number read by RF-ID tag reader 112 is a “1” and thenumber entered by the user is a “1”, then the disposablemini-application is activated.

In an alternate embodiment, service provider 150 may have RF-ID tagreaders 158, rather than RF-ID tags 159, installed throughout itspremises for use in detecting an RF-ID tag 110 of mobile terminal 100.Service provider 150 associates each tag reader 158 with a location inthe premises. Thus, in one embodiment, service provider 150 may use asignal generated by an RF-ID tag 110 that has been detected by an RF-IDtag reader 158 located at the entrance of its premises to detect theuser's entry so that a disposable mini-application may be downloaded toterminal 100 via a bi-directional network, such as short range wirelessnetwork 120. The signal generated by the RF-ID tag 110 of mobileterminal 100 may include information concerning the user's identity foruse in personalizing the disposable mini-application to the user basedon data stored locally in service provider data base 154 (e.g., loyaltydata and/or the user's past purchasing history) and/or remotely in userdata storage 108 c. Personalization also may be based upon user datastored in terminal 100 (e.g., in user data storage 108 a) that istransmitted to service provider 150 over, e.g., short range wirelessnetwork 120.

In this alternate embodiment, RF-ID tag 110 of mobile terminal 100 alsomay be used to provide the service provider 150 with terminal 100'scurrent location within, and departure from, its premises. Inparticular, service provider 150 may determine the user's location basedon the identity of the RF-ID reader 158 that received the RF-ID tagsignal. The service provider 150 may transmit this location informationto mobile terminal 100 via network 120 for use in triggering activation,deactivation or deletion of a disposable mini-application, as will bediscussed in detail hereinafter in connection with FIG. 4.

Once activated, the disposable mini-application begins executing, duringwhich time it may perform a variety of functions including generatingoutputs to and, receiving inputs from, user interfaces (102, 104),respectively, of mobile terminal 100. In one embodiment, the user inputsreceived during execution may be used to formulate inquiries that aretransmitted to service provider 150 over, e.g., short range wirelessnetwork 120 to request information on goods and/or services, as will bediscussed in detail hereinafter in connection with FIG. 6. The serviceprovider 150 may formulate responses to the inquiries based on user datatransmitted to it by mobile terminal 100 and/or user data, such ascustomer loyalty data, stored locally in data base 154 of serviceprovider 150 and/or other user data 108 c that is remotely accessible toit via network(s) 140. The data stored in data base 154 of the serviceprovider 150 and/or other user data 108 c may be stored at least partlyin a format using a markup language expression or a compressed markuplanguage expression of an XML-based markup language.

Ultimately, when the associated trigger conditions are satisfied, thedisposable mini-application may be deactivated and/or deleted, as willalso be discussed in detail hereinafter in connection with FIG. 4. Thedeletion of a disposable mini-application means that the application andany copies thereof in the mobile terminal 100 to which it has beendownloaded are deleted completely, or at least partly, from the storagelocation where they reside or are otherwise made non-executable ornon-accessible. Trigger conditions for deletion of a disposablemini-application are unconditional limits placed upon its use based ontemporal, location-specific and like factors such as a limited number ofuses. For example, trigger conditions for deletion may comprise thecompletion of a task to be performed by the disposable mini-applicationor the passage of time since the disposable mini-application wasdownloaded or activated. In the latter case, the time limit may beexpressed preferably as elapsed time (e.g., three (3) hours), whereinthe disposable mini-application may comprise a time counter that countsup or down until the time limit has been reached thereby triggeringdeletion.

FIG. 2 is a block diagram illustrating an exemplary mobile terminal inaccordance with one embodiment of the present invention. As shown inFIG. 2, mobile terminal 100 includes user interfaces (102, 104).Interface 102 may be a display, preferably one with a touch screencapability, as is well-known in the art. The display 102 preferably isalso capable of presenting textual, graphical and/or image data,including animations and video clips, to the user. Interface 104 may bea keypad, which preferably comprises numerous function keys such asalpha-numeric keys and directional (arrow) keys, for permitting a userto perform such functions described herein as generating user inputs inresponse to prompts, creating and modifying user data, etc.Alternatively, or in addition thereto, a pointing device may be used tomanipulate stored and/or displayed data. Moreover, terminal 100 alsopreferably includes a microphone (not shown) for receiving audio input,such as voice commands. It also preferably includes a speaker(s) and/oran earphone, for audio output (not shown), which, together with display102, enables the presentation of all media types, such as multimediaservice (MMS) messages, to the user of mobile terminal 100.

Terminal 100 also includes a CPU 200 and associated programming forcontrolling data processing and transfer operations among the variouscomponents of terminal 100 via a data transfer bus 202. As shown in FIG.2, terminal 100 further includes one or more disposablemini-applications 106 a, 106 b that have been downloaded from one ormore service providers 150 using,, e.g., short range wireless connection212 or mobile WAN connection 214. Although only two disposablemini-applications are shown in FIG. 2, it is to be understood that morethan two may be stored in terminal 100 provided that there is sufficientmemory for doing so. For each disposable mini-application, terminal 100stores trigger conditions in data storage 250. As mentioned above, thesetrigger conditions may include trigger parameters and rules that weredownloaded with the disposable mini-application for use in determiningwhen activation, deactivation and/or deletion of the associateddisposable mini-application is to occur.

Mobile terminal 100 also includes a house-keeping means 206, which, inone embodiment, monitors for trigger data that satisfies triggerparameters and rules associated with the disposable mini-applications(106 a, 106 b). Mobile terminal 100 includes a variety of sources oftrigger data collected from the user's environment for use indetermining whether trigger parameters and rules have been satisfied. Inaddition to the sources discussed above in connection with FIG. 1 (e.g.,RF-ID tag 110 and RF-ID tag reader 112 for collecting locationinformation), mobile terminal 100 may include sensors (216, 217), suchas a GPS receiver, a bar code reader, a camera, an environmental sensor(e.g., a thermometer) or the like, and a date/time means 218. Triggerdata received from these sources may be stored temporarily in storagedevices 210 a-217 a pending analysis by housekeeping means 206 vis-à-vistrigger parameters and rules. In addition to monitoring for such triggerdata, housekeeping means 206 also may comprise a user interface toassist the user in downloading, activating, deactivating and deletingdisposable mini-applications 106.

Housekeeping means 206 also may perform various other housekeepingfunctions, such as interfacing disposable mini-applications with theoperating characteristics of mobile terminal 100 and supervising andcontrolling data transfer and processing between input and output dataof disposable mini-application 106 a and input and output data of mobileterminal 100. Moreover, housekeeping means 206 may itself be adisposable mini-application with trigger conditions associated with itsuse in mobile terminal 100, as will be discussed in detail hereinafterin connection with FIG. 5.

It will be readily appreciated that mobile terminal 100 also includesconventional hardware and functionality, which may be employed inoperating mobile terminal 100 as a mobile phone, but which are wellknown to those skilled in the art, and thus, are not shown in FIG. 2.

FIG. 3 is a simplified layout of an area 300 such as a shopping mall,department store or a shop illustrating the location of nodes for datatransfer between one or more service providers and mobile terminals inaccordance with one embodiment of the present invention. The shoppingmall, department store or shop comprises a plurality of differentservice points or shopping service locations (302 a-e, 306), such asshops in a mall, departments in a department store or service desks in ashop. It is to be understood, however, that the present invention isapplicable to other service consumption situations that are a form ofshopping such as dining in a restaurant, staying in a hotel, watching amovie or play at a theater, attending a sporting event, listening to aconcert, etc. Common to all these situations is that the user of mobileterminal 100 is at a physical location to which a disposablemini-application may relate. As further shown in FIG. 3, area 300 alsohas one or more entrances/exits 312 a-c, some of which may be used onlyfor entering or exiting area 300 or all of which may be used for bothentering and exiting area 300.

Area 300 also is provided with one or more nodes 304 a-e, 314 a-c and320 for establishing a data transfer with a mobile terminal 100. Eachnode may be either a short range wireless connection 156, RF-ID tagreaders 158, RF-ID tags 159 or the like or any combination thereof.Nodes 314 a-c, which are positioned at entrances/exits 312 a-c, may beused to detect the entry of the user into, or exit from, area 300 fordownloading, activating, deactivating or deleting a disposablemini-application. As shown in FIG. 3, each node 304 a-e is associatedwith a different service point 302 a-e, and thus, may be used to detectthe entry of the user into, or exit from, the specific areas associatedwith these service points. As also shown in FIG. 3, node 320 may be,e.g., a kiosk for downloading a disposable mini-application for generalinformation about area 300, such as a map of area 300. Alternatively, orin addition thereto, node 320 also may serve as a common node for aplurality of service points that do not have a dedicated node of theirown, such as service points 306.

FIG. 4 is a flowchart illustrating an exemplary process by which adisposable mini-application may be used in a mobile terminal. Before adisposable mini-application may be used, it must first be downloaded tomobile terminal 100. In one embodiment, service provider 150 advises auser of the availability of one or more disposable mini-applications bysending a message to mobile terminal 100 over short range wirelessnetwork 120 or mobile WAN 130 using, e.g., SMS/MMS, or by using moreconventional forms of advertising media such as leaflets or coupons. Themessage may include information that the user may need in order todownload the disposable mini-application from service provider 150, suchas a network address. Also, the message or other forms of advertisingmay be sent to the user well in advance of mobile terminal 100 reachinga particular location associated with the disposable mini-application oronly after the user is in the vicinity of, or at, that location.

Service provider 150 may send this message to mobile terminal 100 basedon the user's context, such as her location, a particular instant intime, her current or intended activity or the like, or even anycombination thereof. If not transmitted to mobile terminal 100 based onthe user's context, then housekeeping means 206 itself may use theuser's context comprising one or more of her disclosed profile,calendar, intentions or notes as may be stored in user data 108 a ofmobile terminal 100 to filter messages concerning the availability ofdisposable mini-applications for the user. In this manner, housekeepingmeans 206 may insure that only those disposable mini-applications thatare the most relevant to the user are presented to her for downloading.

Additionally, housekeeping means 206 may allow only those disposablemini-applications (or versions thereof) that are compatible with thefunctional capabilities of the mobile terminal 100 to be downloaded. Forexample, a disposable mini-application 106 may require that mobileterminal 100 be equipped with minimum memory or processing capabilities,or even other software applications such as a media player, in order forthe disposable mini-application 106 to execute properly. Housekeepingmeans 206 may run a check on the terminal or interrogate the user todetermine whether mobile terminal 100 satisfies all of theserequirements before downloading the disposable mini-application to localmemory. Moreover, housekeeping means 206 also may provide the user withinstructions and/or suggestions for satisfying these requirements.

A disposable mini-application 106 that may otherwise be available fordownloading may nevertheless include restrictions on downloading orsubsequent use. One such restriction may be that the recipient be aregistered user of the service provider 150 or that the recipient pay afee for the download, which, in one embodiment, may be charged upondownloading the disposable mini-application but credited upon purchaseof products or services that exceed a predetermined amount. In oneembodiment, housekeeping means 206 may enforce these restrictions bysoliciting user compliance through a graphical user interface. Moreover,a disposable mini-application may have restrictions on forwarding of themini-application that are communicated to the user via, e.g., display102. Such restrictions may be enforced through use of encryptiontechniques (e.g., digital certificates).

Assuming that all pre-conditions for downloading (if any) have beensatisfied, then in step 420 of FIG. 4, the user may download thedisposable mini-application to mobile terminal 100. Once downloaded, thedisposable mini-application may need to be activated before it can beexecuted. In one embodiment, this activation is controlled bymini-application housekeeping means 206, which extracts the triggerconditions for activation as well as those for deactivation and deletionfrom disposable mini-application 106 a, and then, in steps 404, 412 and416, respectively, determines whether these trigger conditions have beensatisfied.

The trigger conditions for activation may comprise one or more triggerparameters and one or more rules. For example, if the disposablemini-application is intended for use in a certain location, then thecurrent location of the user may be trigger data that satisfies thelocation trigger parameter. If the rule for activation of the disposablemini-application depends upon not only location data but also user inputsuch as pressing a key on keypad 104 or issuing a voice command toaccept the mini-application in response to a prompt from housekeepingmeans 206 to do so, then the specified user input would be anothertrigger parameter for which the disposable mini-application housekeepingmeans 206 would monitor.

Other trigger parameters that may be used either alone or in combinationwith location data and/or user input data include, but are not limitedto, the current date/time, user data, or the identification of the user.With respect to user identification, the user may identify herself,e.g., by presenting her RF-ID tag 110 to the RF-ID tag reader 158 ofservice provider 150 for comparison with stored user identificationinformation, such as a customer loyalty number. In return, mobileterminal 100 may receive an activation code from service provider 150over short range wireless network 120 or mobile WAN 130 for activatingthe mini-application. Mini-application housekeeping means 206 monitorsthe available sources of trigger data for data that may satisfy anactivation trigger parameter and rule, and thus, that may activate adisposable mini-application. These sources of trigger data may includeone or more of: user input received via user interfaces (102, 104); datain storage devices 210 a-217 a (i.e., data received from RF-ID tagreader 112, short range wireless connection 212, mobile WAN 214 andenvironmental sensors (216, 217)); the present date/time 218 and data inuser data storage 108 a.

In step 404, if the housekeeping means 206 determines that the triggerconditions for activation have not yet been satisfied then, in step 406,a wait state is entered until the trigger conditions are satisfied.Housekeeping means 206 also may advise the user of the data needed forthe activation trigger conditions to be satisfied. Thereafter, in theevent that the necessary data is not received within a predeterminedperiod of time, housekeeping mean 206 may delete the disposablemini-application 106 a from terminal 100. However, once the conditionsfor activation have been satisfied then, in step 408, themini-application housekeeping means 206 activates the disposablemini-application 106 a and, in step 410, the disposable mini-applicationbegins executing.

Depending on the disposable mini-application, execution may compriseprocessing data, transferring data to and from the mobile terminal viawireless connections (120, 130), displaying data to the user, promptingthe user to input or provide access to user data, displaying choices tobe made by the user, executing other applications, etc. During executionof disposable mini-application 106, housekeeping means 206 will continueto monitor for user input as well as for data in storage devices 210a-217 a (e.g., location data, etc.), date/time data 218 and user data instorage 108 a for data that may be needed for the execution of thedisposable mini-application as well as for data that will satisfy thetrigger parameters and rules for de-activating and deleting disposablemini-application 106. It will be appreciated that once activated, in analternate embodiment, disposable mini-application 106 a itself, ratherthan housekeeping means 206, may monitor for deactivation or deletiontrigger data that satisfies associated trigger parameters and rules.

In addition to the foregoing, additional trigger conditions fordeactivation and/or deletion also may include: the expiration of a timervalue associated with the disposable mini-application; a use counterreaching a maximum number of uses permitted by the disposablemini-application; or, as mentioned above, the passage of a predeterminedperiod of time without the receipt of any data relating to activation orexecution of the disposable mini-application. The use counter may be inone embodiment of the present invention a down counter, whereby thecounter counts down from a maximum number of uses and the triggercondition is that the counter value reaches zero. Deletion of adisposable mini-application also may occur in response to housekeepingmeans 206 determining that the mini-application is obsolete, as may bedetermined upon downloading a more recent version of the applicationthan that currently stored in mobile terminal 100.

If the trigger parameters and rules for deactivation and deletion aresatisfied then, in steps 414 and 420, disposable mini-application 106ais deactivated and deleted, respectively. Even upon deactivation ordeletion of the disposable mini-application, user data generated duringexecution, such as: data for configuring the disposable mini-applicationto the user or the mobile terminal 100; the results of the executeddisposable mini-application; or data indicative of the user's selectionsduring execution (e.g., her purchasing history), may be retained forfuture use. For example, this user data may be stored in mobile terminal100 or, alternatively, in a data base of the service provider, and maybe associated with the deleted disposable mini-application for purposesof personalization when either the deleted disposable mini-applicationor some other disposable mini-application is next downloaded to mobileterminal 100. Thus, in one embodiment, the service provider may identifythe mobile terminal 100 upon next encountering it and personalize adisposable mini-application based on the stored user data prior todownloading it to mobile terminal 100. Moreover, personalization mayrequire a user request or acceptance and a monetary fee could be chargedtherefor.

Returning to FIG. 4, if, however, it is determined in step 416 that thedisposable mini-application should not be deleted, then in step 418 thedisposable mini-application is maintained in storage and a wait state isentered in step 406 until, in step 404, the stored trigger conditionsfor activation are once again satisfied.

FIG. 5 is a block diagram illustrating the performance of a disposablemini-application housekeeping function. As shown in FIG. 5, disposablemini-application 106 acomprises activation trigger conditions 502,de-activation trigger conditions 504, deletion trigger conditions 506and executable software 508. Housekeeping means 206 may access bothdisposable mini-application 106 a's trigger conditions (502, 504, 506)and executable software 508. In one embodiment, housekeeping means 206may store the trigger conditions in storage 250 of mobile terminal 100.As shown in FIG. 5, housekeeping means 206 is coupled to data bus 202and thus may relay data between disposable mini-application 106 a andthe various components of mobile terminal 100 discussed above in detailin connection with FIG. 2 for purposes of collecting trigger data andactivating, executing, deactivating and, ultimately, deleting thedisposable mini-application from memory.

In addition to interacting with one or more disposablemini-applications, housekeeping means 206 may itself, in one embodiment,be a disposable mini-application and have limitations associated withits use. For example, upon entering a department store, such as area 300shown in FIG. 3, a user of mobile terminal 100 may download ahousekeeping mini-application that is “proprietary” to that store andwhich controls the downloading, activation, execution, deactivation anddeletion of other disposable mini-applications that are available onlyin that store.

Once downloaded and automatically activated, the housekeepingmini-application may download other disposable mini-applications fromservice provider 150 that are relevant to the user's context, such asher disclosed profile, calendar, intentions or notes, as may beindicated by data stored, e.g., in user data storage 108 a, or that arerelevant to mobile terminal 100's capabilities. The housekeepingmini-application also may advise the user of the other disposablemini-applications that are available and permit the user to select oneor more of them for downloading and use. When the user exits the store,however, the housekeeping mini-application 106 a may delete all of thedownloaded mini-applications relating to that store and finally maydelete itself to conserve memory space in mobile terminal 100 which thencan be used for other purposes.

FIG. 6 is a block diagram illustrating an exemplary disposablemini-application for providing purchasing assistance to a user while theuser is shopping in a shopping mall, a shop or any shopping servicelocation thereof in accordance with one embodiment of the presentinvention.

Referring briefly to FIG. 3, a mobile terminal 100 passes throughentrance 312 aof a shopping mall 300 and, in particular, passes withinproximity of data transfer node 314 a. In one embodiment, node 314 aincludes a Bluetooth module, an RF-ID tag reader and an RF-ID tag fordata transfer with one or more mobile terminals 100. In one embodiment,the RF-ID tag reader of node 314 a detects an RF-ID tag 110 of mobileterminal 100 and, in response, transmits a message to terminal 100 via aBluetooth connection to advise the user of the availability of adisposable mini-application that can assist her in making purchases atshops 302 a-e, 306 and using kiosk 320 within the mall. Upon receivingan indication of user acceptance, the disposable shoppingmini-application is downloaded from node 314 a to terminal 100 via theBluetooth connection. In the embodiment illustrated in FIG. 3, each shop302 a-e in mall 300 is associated with its own data transfer node 304a-e. As mentioned above, in an exemplary embodiment, each node 302 a-ealso comprises a Bluetooth connection, an RF-ID tag reader and an RF-IDtag for data transfer with mobile terminals 100, as will be discussedfurther below.

Turning now to FIG. 6, disposable shopping mall mini-application 166 a,which has been downloaded from node 314 a, is shown together with datastorage 250 in the mobile terminal 100, wherein trigger parameters andrules for activation, deactivation and deletion of the disposablemini-application are stored.

In the exemplary embodiment shown in FIG. 6, the trigger parameters foractivation may include an RF-ID number list (not shown) of the IDnumbers of the RF-ID tags of all data transfer nodes in the shoppingmall including nodes 304 a-c corresponding to shops 302 a-e togetherwith keywords (not shown) associated with the services and/or goodsoffered by each shop. The RF-ID number list preferably also includes theidentification numbers of RF-ID tags associated with kiosk 320 and anyinformation, such as keywords, concerning good/services available atshops 306 associated therewith. A rule for activation of the disposablemini-application may be that one or more of the keywords associated witha received RF-ID tag identification number matches an item that is onthe user's electronic shopping list that is stored in user data storage108 a of mobile terminal 100.

A trigger parameter for de-activation or deletion of the disposableshopping mall mini-application may be a list of RF-ID identificationnumbers of data transfer nodes 314 a-c, which are situated near mallexits 312 a-c. An exemplary rule for deactivation and/or deletion may bethe receipt of one of the RF-D numbers for nodes 314 a-c indicating thatthe user has, or is about to, leave the mall either alone or incombination with other trigger data such as user input confirmingde-activation and/or deletion.

As discussed above, housekeeping means 206 extracts the triggerparameters and rules from the disposable mini-application and then (1)monitors RF-ID tag storage 210 a of mobile terminal 100 for satisfactionof a trigger parameter—namely, for receipt of an identification numberof an RFID tag that-matches an identification number in the downloadedRF-ID number list and (2) determines whether a rule for activation,deactivation or deletion has been met. As shown in FIG. 6, RF-ID tagnumber input storage 210 a may buffer a plurality of RF-ID tagidentification numbers (602-608) received via RF-ID tag reader 112.

In the example shown in FIG. 6, RF-ID tag reader 112 receives one ormore identification numbers from various RF-ID tags in the mall,including identification number “2345”. The housekeeping means 206continuously compares the RF-ID tag numbers that it is receiving againstthe list of RF-ID tag numbers that it has downloaded in connection withthe disposable shopping mini-application. In this particular case, thecomparison results in a determination that RF-ID tag number “2345”corresponds to a shop 302 c by the name of “Susan's Shoes”; keywords:shoes, sneakers, sandals, boots, women.

Thereafter, housekeeping means 206 determines whether any of thekeywords associated with the received RF-ID tag number “2345” match anyof the items on the user's shopping list. In this example, the user'sshopping list includes “shoes” as an item that the user intends topurchase. Since the rule for activation has been satisfied (i.e., areceived RF-ID tag number matches one on the RF-ID number list and akeyword associated with the matching RF-ID tag number matches an item onthe user's shopping list), housekeeping means 206 activates the shoppingmall mini-application 106 a. It will be appreciated that other data maybe used for comparison with key words, and thus, for determining whetherthe mini-application should be activated. Such other data may includestored profile information indicating not only that the user isinterested in purchasing shoes, but also that the user is a women, andthus, is likely to be interested in purchasing woman's shoes.

Once activated, the shopping mall mini-application 106 a beginsexecuting by formulating an inquiry either automatically or, with userassistance (elicited using, e.g., a series of prompts), for transmissionto “Susan's Shoes” (i.e., shop 302 c). The inquiry is formulated byselecting data from user data storage 108 a for inclusion in the inquiryso that the user receives only information likely to be of interest toher. This user data may include a user ID 612, a shoe size 614, a pricelimit 616, a brand name (not shown) or the like.

In the present example, the shoe size 614 and price limit 616 areselected from user data storage and formulated into an inquiry. Aninquiry may be “Do you have Size 41 shoes for $50 or less?” Once theinquiry has been formulated, disposable mini-application 106 a usesBluetooth module 212 of mobile terminal 100 to transmit the inquiry toshop 302 c via data transfer node 304 c. If “Susan's Shoes” shop 302 ccan meet the conditions set forth in the inquiry, a response istransmitted via node 304 c to mobile terminal 100 for display to theuser. The handling of the inquiries in the shop 302 c may be automatedor handled by a salesperson.

In the event that a response is not received from shop 320 c after apredetermined period of time, housekeeping means 206 may deactivate theshopping mall mini-application and enter a wait state until triggerconditions for activation are satisfied. Additionally, as mentionedabove, upon receipt of a trigger parameter such as an RF-ID tag numberfor any one of nodes 314 a-c, which corresponds to a mall exit, thusindicating that the user is about to leave or has left the mall,housekeeping means 206 may delete the shopping mall mini-applicationfrom memory. This may occur either automatically or upon receiving adeletion confirmation from the user, depending upon the triggerparameter and rule for deletion.

In the many features and advantages of the present invention areapparent from the detailed specification, and thus, it is intended bythe appended claims to cover all such features and advantages of theinvention which fall within the true spirit and scope of the invention.

Furthermore, since numerous modifications and variations will readilyoccur to those skilled in the art, it is not desired that the presentinvention be limited to the exact construction and operation illustratedand described herein, and accordingly, all suitable modifications andequivalents which may be resorted to are intended to fall within thescope of the claims.

1. A method for a mobile terminal having a processor and a memory forprocessing and storing data to manage storage of an executable softwareitem of limited operability that provides a user of the mobile terminalwith shopping assistance, comprising: downloading an executable softwareitem for providing a user of a mobile terminal with assistance whileshopping, wherein the executable software item comprises data comprisingan identification of one or more shopping service locations and triggerconditions for activation and deletion of the executable software itemfrom memory of the mobile terminal; detecting, via a short rangewireless connection, that the user is located within proximity of ashopping service location; accessing user data comprising indications ofgoods and/or services of interest to the user; comparing goods and/orservices offered by the shopping service location with the user data todetermine whether there is a match; if there is a match, activating theexecutable software item; and executing the executable software item;wherein execution of the executable software item comprises: generatinga query for transmission to the shopping service location, the queryincluding the user data; and transmitting the query to the shoppingservice location via a short range wireless connection.
 2. The method ofclaim 1 wherein the mobile terminal is a mobile telephone or a mobilehandset.
 3. The method of claim 1 wherein the user data included in thequery includes a maximum price that the user is willing to pay for thegoods and/or services.
 4. The method of claim 1 wherein downloading ofthe executable software item occurs upon entry of the mobile terminalinto a predetermined location.
 5. The method of claim 1 furthercomprising: receiving a response from the shopping service location tothe transmitted query via the short range wireless connection.
 6. Themethod of claim 1 further comprising: if a response is not received fromthe shopping service location within a predetermined period of time,deactivating the executable software item.
 7. The method of claim 1wherein the user's proximity to the shopping service location isdetermined via an RF-ID system.
 8. The method of claim 7, wherein theRF-ID system comprises a plurality of RF-ID tags, each associated with ashopping service location, and an RF-ID reader in the mobile terminalthat is capable of reading the RF-ID tags, the method furthercomprising: storing an association between each of the plurality ofRF-ID tags and a shopping service location; receiving a tag identifierof an RF-ID tag at the reader of the mobile terminal; and determining ashopping service location that the mobile terminal is in proximity ofbased on the tag identifier.
 9. The method of claim 7, wherein the RF-IDsystem comprises an RF-ID tag in the mobile terminal and one or moreRF-ID readers, each of which is associated with a shopping servicelocation and is capable of reading the RF-ID tag, the method furthercomprising: receiving, at the tag, an interrogation from an RF-IDreader; transmitting a tag identifier to the RF-ID reader to enable alocation of the mobile terminal to be determined; and receiving anidentity of a shopping service location of which the mobile terminal isin proximity.
 10. The method of claim 4 further comprising: upondeparture of the mobile terminal from the predetermined location,deleting the executable software item.
 11. An apparatus for managingstorage of an executable software item of limited operability in amobile terminal that provides a user of the mobile terminal withshopping assistance, comprising: a memory device for storing a program;and a processor in communication with the memory device, the processoroperative with the program to: download an executable software item forproviding a user of a mobile terminal with assistance while shopping,wherein the executable software item includes data comprising anidentification of one or more shopping service locations and triggerconditions for activation and deletion of the executable software itemfrom memory of the mobile terminal; detect, via a short range wirelessconnection, that the user is located within proximity of one of theshopping service locations; access user data comprising indications ofgoods and/or services of interest to the user; compare goods and/orservices offered by the shopping service location with the user data todetermine whether there is a match; and if there is a match, activatethe executable software item; wherein upon activation of the executablesoftware item, the processor is further operative with the program to:generate a query for transmission to the shopping service location, thequery including the user data; and transmit the query to the shoppingservice location via a short range wireless connection.
 12. Theapparatus of claim 11 wherein the mobile terminal is a mobile telephoneor a mobile handset.
 13. The apparatus of claim 11 wherein the user dataincluded in the query includes a maximum price that the user is willingto pay for the goods and/or services.
 14. The apparatus of claim 11wherein downloading of the executable software item occurs upon entry ofthe mobile terminal into a predetermined location.
 15. The apparatus ofclaim 11 wherein the processor is further operative with the program to:receive a response from the shopping service location to the transmittedquery via the short range wireless connection.
 16. The apparatus ofclaim 11 wherein the processor is further operative with the program to:if a response is not received from the shopping service location withina predetermined period of time, deactivate the executable software item.17. The apparatus of claim 11 wherein the user's proximity to theshopping service location is determined via an RF-ID system.
 18. Theapparatus of claim 17, wherein the RF-ID system comprises a plurality ofRF-ID tags, each associated with a shopping service location, and anRF-ID reader in the mobile terminal that is capable of reading the RF-IDtags, and wherein the processor is further operative with the programto: store an association between each of the plurality of RF-ID tags anda shopping service location; receive a tag identifier of an RF-ID tag atthe reader of the mobile terminal; and determine a shopping servicelocation that the mobile terminal is in proximity of based on the tagidentifier.
 19. The apparatus of claim 17, wherein the RF-ID systemcomprises an RF-ID tag in the mobile terminal and one or more RF-IDreaders, each of which is associated with a shopping service locationand is capable of reading the RF-ID tag, and wherein the processor isfurther operative with the program to: receive, at the tag, aninterrogation from an RF-ID reader; transmit a tag identifier to theRF-ID reader to enable a location of the mobile terminal to bedetermined; and receive an identity of a shopping service location ofwhich the mobile terminal is in proximity.
 20. The apparatus of claim 14wherein the processor is further operative with the program to: upondeparture of the mobile terminal from the predetermined location, deletethe executable software item.
 21. A computer program product comprisinga computer usable medium having computer program logic recorded thereonfor enabling a processor to manage storage of an executable softwareitem of limited operability that provides a user of a mobile terminalwith shopping assistance, comprising: program code for enabling theprocessor to download an executable software item for providing a userof a mobile terminal with assistance while shopping, wherein theexecutable software item comprises data comprising an identification ofone or more shopping service locations and trigger conditions foractivation and deletion of the executable software item from memory ofthe mobile terminal; program code for enabling the processor to detect,via a short range wireless connection, that the user is located withinproximity of a shopping service location; program code for enabling theprocessor to access user data comprising indications of goods and/orservices of interest to the user; program code for enabling theprocessor to compare goods and/or services offered by the shoppingservice location with the user data to determine whether there is amatch; program code for enabling the processor to, if there is a match,activate the executable software item; and program code for enabling theprocessor to execute the executable software item; wherein execution ofthe executable software item comprises: generating a query fortransmission to the shopping service location, the query including theuser data; and transmitting the query to the shopping service locationvia a short range wireless connection.
 22. The computer program productof claim 21 wherein the mobile terminal is a mobile telephone or amobile handset.
 23. The computer program product of claim 21 wherein theuser data included in the query includes a maximum price that the useris willing to pay for the goods and/or services.
 24. The computerprogram product of claim 21 wherein downloading of the executablesoftware item occurs upon entry of the mobile terminal into apredetermined location.
 25. The computer program product of claim 21further comprising: program code for enabling the processor to receive aresponse from the shopping service location to the transmitted query viathe short range wireless connection.
 26. The computer program product ofclaim 21 further comprising: program code for enabling the processor to,if a response is not received from the shopping service location withina predetermined period of time, deactivate the executable software item.27. The computer program product of claim 21 wherein the user'sproximity to the shopping service location is determined via an RF-IDsystem.
 28. The computer program product of claim 27, wherein the RF-IDsystem comprises a plurality of RF-ID tags, each associated with ashopping service location, and an RF-ID reader in the mobile terminalthat is capable of reading the RF-ID tags, the computer program productfurther comprising: program code for enabling the processor to store anassociation between each of the plurality of RF-ID tags and a shoppingservice location; program code for enabling the processor to receive atag identifier of an RF-ID tag at the reader of the mobile terminal; andprogram code for enabling the processor to determine a shopping servicelocation that the mobile terminal is in proximity of based on the tagidentifier.
 29. The computer program product of claim 27, wherein theRF-ID system comprises an RF-ID tag in the mobile terminal and one ormore RF-ID readers, each of which is associated with a shopping servicelocation and is capable of reading the RF-ID tag, the computer programproduct further comprising: program code for enabling the processor toreceive, at the tag, an interrogation from an RF-ID reader; program codefor enabling the processor to transmit a tag identifier to the RF-IDreader to enable a location of the mobile terminal to be determined; andProgram code for enabling the processor to receive an identity of ashopping service location of which the mobile terminal is in proximity.30. The computer program product of claim 24 further comprising: programcode for enabling the processor to, upon departure of the mobileterminal from the predetermined location, delete the executable softwareitem.